SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TTULTI_ASTO_Q04]
/*--------------------------------------------------------*/          
/*---Sistema              : Tesoreria                   --*/          
/*---M©dulo               : Empresa                     --*/          
/*---Programa             : Devuelve el œltimo asiento  --*/          
/*---                       de un libro contable  --*/          
/*---Nombre SP            : SP_TTULTI_ASTO_Q01         --*/          
/*---Desarrollado por     : Reynaldo Menacho Luyo       --*/          
/*---Fecha Creaci©n       : 11/06/1999                  --*/          
/*---Base Datos           : Microsoft Sql Server        --*/          
/*---Versi©n              : 2000                        --*/          
/*---Invoca a SP          :                             --*/          
/*-------------------------------------------------------*/          
          
/*-------------------------------------------------------*/          
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/          
/*---Fecha Modificaci©n   : 20/04/2005                   --*/           
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI                           --*/          
/*-------------------------------------------------------*/          
          
/*-------------------------------------------------------*/          
/*---Comentarios                                       --*/          
/*---                                                  --*/          
/*---                                                  --*/          
/*-------------------------------------------------------*/          
          
/*-------------------------------------------------------*/          
/*---Drop Proc SP_TTULTI_ASTO_Q01                     --*/          
/*---Grant all on SP_TTULTI_ASTO_Q01 to public         --*/           
/*--- SP_TTULTI_ASTO_Q01 '01', '001', 'R01', '2003/10/10', '' --*/          
/*-------------------------------------------------------*/          
@ISCO_EMPR TD_VC_002,          
@ISCO_USUA_MODI   TD_VC_008,        
@ISCO_UNID_CONC TD_VC_003,          
@ISCO_TIPO_OPER TD_VC_003,          
@IDFE_OPER TD_DT_001,          
@ISNU_ASTO TD_VC_010 OUTPUT      
As      
Declare          
  @VNNU_ANNO       TD_IN_001,          
  @VNNU_MESE       TD_IN_001,          
  @VNNU_ULTI_ASTO  TD_IN_001,          
  @VSCO_OPRC_CNTB  TD_VC_003,          
  @VSNU_CORR_VENT  TD_VC_008          
          
  Begin Tran TTULTI_ASTO_I02          
         Select @VNNU_ANNO = Datepart (Year,@IDFE_OPER )          
         Select @VNNU_MESE = Datepart (Month,@IDFE_OPER )          
                 
         Select   @VSCO_OPRC_CNTB = CO_OPRC_CNTB          
         From     TDTIPO_OPER           
         Where    CO_EMPR = @ISCO_EMPR          
            And CO_TIPO_OPER = @ISCO_TIPO_OPER          
         Group By CO_OPRC_CNTB           
          
  Select @VNNU_ULTI_ASTO = ISNULL(NU_ULTI_ASTO, 0) + 1          
         From   TCFECH_PROC          
         Where  CO_EMPR = @ISCO_EMPR          
          And NU_CNTB_EMPR = 1          
          And NU_ANNO = @VNNU_ANNO          
          And NU_MESE = @VNNU_MESE          
          And CO_UNID_CNTB = @ISCO_UNID_CONC          
          And CO_OPRC_CNTB = @VSCO_OPRC_CNTB          
          
          
         Select @VSNU_CORR_VENT = @VSCO_OPRC_CNTB + Replicate('0',5-datalength(Convert(Varchar(10),@VNNU_ULTI_ASTO))) +        
Convert(Varchar(10),@VNNU_ULTI_ASTO)          
         SELECT @ISNU_ASTO = @VSNU_CORR_VENT          
          
         Update TCFECH_PROC           
  Set  NU_ULTI_ASTO = @VNNU_ULTI_ASTO,        
  CO_USUA_MODI = @ISCO_USUA_MODI,        
  FE_USUA_MODI = GETDATE()          
         Where  CO_EMPR = @ISCO_EMPR          
          And NU_CNTB_EMPR = 1          
          And NU_ANNO = @VNNU_ANNO          
          And NU_MESE = @VNNU_MESE          
          And CO_UNID_CNTB = @ISCO_UNID_CONC          
          And CO_OPRC_CNTB = @VSCO_OPRC_CNTB          
          
  If @@error <> 0          
        Begin          
          Rollback tran          
         Return          
            End          
  COMMIT TRAN TTULTI_ASTO_I02          
          
Return          
          
/*------------------------------ FIN ------------------------------*/ 
GO
